With the widespread use of computing devices, such as laptops, tablets, or smartphones, new and interesting approaches have arisen for enabling such devices to convey information to a user and vice versa. In an example, a graphical user interface (GUI) with windows, icons, and menus could be seen as improving a character user interface (CUI) because it provides a user with a more intuitive interface to a software application. The software application can perform functions in response to the user's intuitive inputs that are not from a code-base, for example. A CUI typically provides a code-based with instructions and syntaxes for the user to communicate with the software application or to instruct the software application to perform various functions. Moreover the time required to key instructions into a CUI is substantially more than the use of GUI icons.
More recently, with the advent of touchscreen and facial motion sensors, in more commercial settings than ever before, the touchscreen interface is more adapted to the GUI input than a CUI input. The most common functions, such as, scrolling and selecting is performed via touch or swipe gestures on the touchscreen than keyed input using scroll keys on a computer. Moreover, the GUI allows users to customize the software application interface much easier than the CUI. The constant evolution of touchscreen and GUI as a communication tool between the user and a machine also provides a more interactive experience to the user.